1. Field of the Invention
The present invention relates to variable rate coder/decoder systems which are used in a packet communication system, an ATM (Asynchronous Transmission Mode) communication system or the like system and more particularly, to a variable rate coder/decoder system which is designed, in particular, for encoding and decoding picture image signals.
2. Description of the Related Art
Conventionally, encoding with fixed rate in a picture image encoder has been standardized as H.261 in the Search Group (SGXV) of the Comite Consultatif International Telegraphique et Telephonique (CCITT).
The encoding with fixed rate, however, cannot be carried out in response to the change in the amount of data in an input signal.
As an example of the prior art fixed rate encoding, a fixed rate image encoding will be explained.
FIGS. 6(a) and 6(b) are representation of a time and spatial variation in a picture image. More specifically, FIG. 6(b) shows a video signal on a display screen divided into blocks as minimum units. One block is made up of vertical 8 picture elements (pixels) and horizontal 8 pixels. FIG. 6(a) is a diagram for explaining image movement compensation, in which case, the picture image (in the illustrated example, moving picture) varies with time and the movement data of the image can be expressed on a block basis. That is, image data has spatial data in a still screen with time stopped and has time data varying with time between screens or frames. By effectively utilizing the above data property, picture image encoding can be carried out.
FIG. 7 shows a block diagram of an arrangement of a prior art fixed-rate encoder system.
In operation of the prior art fixed-rate encoder system of FIG. 7, a video signal is input as an input signal on a block basis from an input terminal 700 to the encoder system. More specifically, a subtraction circuit 701 calculates a difference between the input signal received from the input terminal 700 and an output signal received from a loop filter 710 and applies the calculated difference to a discrete cosine transformer 703 for performing discrete cosine transformation. A difference signal corresponding to one block applied to the discrete cosine transformer 703 is subjected to a two-dimensional (8.times.8) discrete cosine transformation according to the following equation (1). ##EQU1## where, when u,v=0, c(u),c(v)=1/SQRT(2)
when u,v.noteq.0, c(u),c(v)=1 PA1 x,y,u,v=0,1,2,3,4,5,6,7 PA1 when u,v.noteq.0, c(u),c(v)&gt;1 PA1 x,y,u,v=0,1,2,3,4,5,6,7
In the above, SQRT(A) denotes a square root of A.
Thereafter, in a quantizer 704, the elements of the difference signal transformed by the discrete cosine transformer 703 are subjected to a quantization to obtain quantization codes which in turn are sent to a multiplex coder 712. A quantization step width of the quantizer 704 is controlled by a coder controller 705 and linear quantization is carried out in the quantizer 704 with the quantization step width selected by the coder controller 705.
The coder controller 705, in order to realize transmission with fixed rate, changes some parameters, e.g., the quantization step width, block reference, decimation rate, etc. to controllably adjust the amount of data to be encoded. More specifically, the coder controller 705 monitors the state of a transmission buffer 713, and when the buffer almost overflows, increases the quantization step width to decrease the amount of data to be generated and thereby prevent the buffer overflowing. Further, when the quantization step width is increased but still the buffer is almost overflowing, the coder controller 705 perform decimation to prevent the buffer overflowing. Conversely, when the data of the buffer is becoming almost nothing, the coder controller 705 controllably reduces the step width to increase the amount of data to be encoded and maintain the fixed-rate transmission.
In order to generate a motion compensation interframe prediction compensation signal, a quantization signal quantized in the quantizer 704 is sent to an inverse quantizer 706 where the quantization signal is subjected to an inverse quantization, and further sent to an inverse discrete cosine transformer 707 where the quantization signal subjected to the inverse quantization is subjected to a two-dimensional (8.times.8) inverse discrete cosine transformation according to the following equation (2). ##EQU2## where, when u,v=0, c(u),c(v)=1/SQRT(2)
In the above, SQRT(A) denotes a square root of A.
Next, an adder 708 adds together the signal subjected to the inverse discrete cosine transformation received from the inverse discrete cosine transformer 707 and the output of the loop filter 710 for the previous frame received through a switch 711 and outputs its added result to a motion compensator 709.
The motion compensator 709 searches one of the past blocks highest in matching degree with the current block, finds a difference between the blocks and remove its correlation in the time direction.
The loop filter 710 is a two-dimensional prediction filter made up of one-directional filters for horizontal and vertical components. That is the loop filter 710 is a non-recursive filter having coefficients of 1/4, 1/2 and 1/4. However, the filter has coefficients of 0, 1 and 0 at its edges. This filter is also a low pass filter which can remove high-frequency noise and which output is the same as a reproduction signal obtained at a decoder side.
The operation from the inverse quantizer 706 to the loop filter 710, which corresponds to generation, in the encoder system side, of a reproduction signal to be obtained in the decoder system side, is designed so that, at the time of computing a difference from the previous frame, a decode signal to be reproduced at the decoder system side is reproduced in the encoder system side to find the difference, thus preventing asynchronous state between the decoder and encoder system sides.
A hybrid encoded signal subjected to the motion compensation for removal of redundancy in the time direction in the interframe prediction and also to the cosine transformation for removal of redundancy in the spatial direction is sent from the quantizer 704 to the multiplex coder 712. The multiplex coder 712 converts the received signal into a frame signal according to the format determined by H.261 of the SGXV of CCITT, and sends the frame signal to the transmission buffer 713. Further, the transmission buffer 713, prior to output of the frame data received from the multiplex coder onto the associated line, temporarily stores the frame data in a memory and informs the coder controller 705 of how much the data is accumulated in the buffer for fixed-rate transmission. Thereafter, a transmission coder 714 outputs the frame data onto the line.
Next, explanation will be made as to a prior art decoder system for decoding the fixed-rate encoded signal.
FIG. 8 is a block diagram of an arrangement of a prior art fixed-rate decoder system.
A transmission decoder 800 first receives frame data from a line and sends the data to a reception buffer 801. The reception buffer outputs data to a multiplex decoder 802, which in turn extracts encoded data from the frame data.
In an inverse quantizer 803, the quantized data received from the multiplex decoder 802 is inversely quantized and output to an inverse discrete cosine transformer 804. In the inverse discrete cosine transformer 804, the inversely-quantized data received is subjected to a two-dimensional (8.times.8) inverse discrete cosine transformation according to the above equation (2). Then, an adder 805 adds together an output signal received from the inverse discrete cosine transformer 804 and an output signal received from a loop filter 807 to generate a decoded signal. In this case, a motion compensator 806 extracts a motion vector from the frame signal and performs the same operation as the motion compensator 709 in the encoder system of FIG. 7. While, the loop filter 807 also performs the same operation as the loop filter 710 in the encoder system of FIG. 7.
In this manner, the prior art fixed-rate image encoding and decoding are carried out.
However, in the case where image encoding is carried out with fixed rate as mentioned above, when the motion of the image is rapid, the amount of data to be generated becomes much, and in order to suppress the amount of data, the coder controller 705 functions to lower the communication quality or performs its decimating operation. For this reason, the resultant image decoded and reproduced becomes deteriorated in quality.
Conversely, when the motion of an image is slow, the amount of data in the transmission buffer 713 becomes less, for which reason the coder controller 705 functions to raise the quality and increase the amount of data to be encoded.
Accordingly, the prior art fixed-rate encoder system has a problem that, since the amount of data to be encoded cannot be changed in response to a variation in an image, its encoding efficiency is not satisfactory.
The prior art encoder system also has another problem that, when missing of encoded data takes place during transmission of the encoded data, its communication quality is remarkably deteriorated, i.e., the system is easily affected by the data missing.
Further, the prior art fixed-rate encoder system has a problem that the system is designed to lower its quality and suppress generation of the amount of data to be output in response to an increase in the amount of input data generated from a rapid motion image, and the system is also designed to increase the quality and increase the amount of output data in response to a decrease in the amount of input data generated from a slow motion image, which results in that the increase of the amount of input data leads to deterioration of the quality while the decrease of the amount of input data leads to reduction of the encoding efficiency. The prior art system also has another problem that packet discard results in remarkable deterioration of the reproduced data quality.